Systems and methods for airplane maintenance

ABSTRACT

A computer device is provided. The computer device includes at least one memory and at least one processor in communication with the at least one memory. The at least one processor is programmed to receive a plurality of aircraft flight data associated with a plurality of aircraft and determine one or more non-operational gaps for each aircraft. The non-operational gap represents a series of consecutive non-operating days for the aircraft. The at least one processor is also programmed to compare the one or more non-operational gaps for the plurality of aircraft based on each aircraft&#39;s corresponding in-service date, detect a plurality of anchors in the plurality of aircraft flight leg data, compare the one or more non-operational gaps for the plurality of aircraft to the plurality of anchors, and determine a future maintenance event for a first aircraft based on the comparison.

BACKGROUND

The present disclosure relates generally to maintenance of aircraft, andmore particularly to systems and methods for discovering when and howoften airline operators (“carriers”) perform aircraft heavy maintenanceevents.

When a carrier takes a delivery of an aircraft, the carrier isincentivized to operate the aircraft as much as possible to generatemaximum revenues. Therefore the carrier keeps the aircraft's monthlyusage at a relatively high level unless the carrier must take theaircraft out of service for heavy maintenance events (e.g., C and Dchecks). Heavy maintenance events usually keep aircraft out of servicefor two weeks or more.

Aircraft manufactures generally recommend heavy maintenance intervals tocarriers. However carriers may modify the recommendations with theapproval of their aviation authority. Moreover, carriers may change theheavy maintenance intervals due to airworthiness directives (AD) fromaviation authorities over the life of their aircraft. Accordingly,maintenance intervals may vary from carrier to carrier and from oneaircraft model to another aircraft model.

In addition, different carriers may use different indicators or metricsto determine when a maintenance event should be performed. For example,a first carrier may use a cumulative number of flight hours since aprevious maintenance event as an indicator of when the next maintenanceevent should take place. A second carrier may use a number of flightcycles as an indicator, and a third carrier may use a total amount oftime that has elapsed since the last maintenance event. Furthermore, asingle carrier may use different types of indicators for differentaircraft within the carrier's fleet. Generally, however, once a carrierhas determined what indicator to use for a type of aircraft within thecarrier's fleet, the carrier applies the indicator on all aircraft ofthe same type in its fleet.

Given the variations in how different carriers track and scheduledaircraft maintenance events, it is challenging for a maintenance,repair, and overhaul provider (“MRO”) to predict maintenance events andobtain replacement aircraft components in preparation for themaintenance events. Accordingly, systems and methods that facilitatepredicting when such maintenance events will occur are desired.

BRIEF DESCRIPTION

In one aspect, a computer device is provided. The computer deviceincludes at least one memory and at least one processor in communicationwith the at least one memory. The at least one processor is programmedto receive a plurality of aircraft flight leg data associated with aplurality of aircraft and determine one or more non-operational gaps foreach aircraft. A non-operational gap represents a series of consecutivenon-operating days for the aircraft. The at least one processor is alsoprogrammed to compare the one or more non-operational gaps for theplurality of aircraft based on each aircraft's corresponding in-servicedate, detect a plurality of anchors in the plurality of aircraft flightleg data, compare the one or more non-operational gaps for the pluralityof aircraft to the plurality of anchors, and determine a futuremaintenance event for a first aircraft based on the comparison.

In another aspect, a computer implemented method for discovering whenand how often airline operators (“carriers”) perform aircraft heavymaintenance events is provided. The method is implemented on amaintenance analysis (MA) computer device including at least oneprocessor in communication with at least one memory device. The methodincludes receiving a plurality of aircraft flight leg data associatedwith a plurality of aircraft and determining one or more non-operationalgaps for each aircraft. A non-operational gap represents a series ofconsecutive non-operating days for the aircraft. The method alsoincludes comparing the one or more non-operational gaps for theplurality of aircraft based on each aircraft's corresponding in-servicedate, detecting a plurality of anchors in the plurality of aircraftflight leg data, comparing the one or more non-operational gaps for theplurality of aircraft to the plurality of anchors, and determining afuture maintenance event for a first aircraft based on the comparison.

In yet another aspect, at least one non-transitory computer-readablestorage media having computer-executable instructions embodied thereonis provided. When executed by at least one processor, thecomputer-executable instructions cause the at least one processor toreceive a plurality of aircraft flight leg data associated with aplurality of aircraft and determine one or more non-operational gaps foreach aircraft. A non-operational gap represents a series of consecutivenon-operating days for the aircraft. The computer-executableinstructions also cause the at least one processor to compare the one ormore non-operational gaps for the plurality of aircraft based on eachaircraft's corresponding in-service date, detect a plurality of anchorsin the plurality of aircraft flight leg data, compare the one or morenon-operational gaps for the plurality of aircraft to the plurality ofanchors, and determine a future maintenance event for a first aircraftbased on the comparison.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of converting flight leg data inaccordance with one embodiment of the disclosure.

FIG. 2 illustrates a block diagram of analyzing flight data forpotential maintenance events in accordance with one embodiment of thedisclosure.

FIG. 3 illustrates a block diagram of detecting anchors in flight datain accordance with one embodiment of the disclosure.

FIG. 4 illustrates a block diagram of comparing anchors tonon-operational gaps in accordance with one embodiment of thedisclosure.

FIG. 5 illustrates a simplified block diagram of an exemplarymaintenance analysis system for analyzing flight data for potentialmaintenance events.

FIG. 6 illustrates an exemplary configuration of a client computerdevice as shown in FIG. 5, in accordance with one embodiment of thepresent disclosure.

FIG. 7 illustrates an exemplary configuration of a server system asshown in FIG. 5, in accordance with one embodiment of the presentdisclosure.

FIG. 8 illustrates a flow chart of a process for analyzing flight datafor potential maintenance events as shown in FIGS. 1 to 4 using themaintenance analysis system shown in FIG. 5.

Unless otherwise indicated, the drawings provided herein are meant toillustrate features of embodiments of this disclosure. These featuresare believed to be applicable in a wide variety of systems comprisingone or more embodiments of this disclosure. As such, the drawings arenot meant to include all conventional features known by those ofordinary skill in the art to be required for the practice of theembodiments disclosed herein.

DETAILED DESCRIPTION

The described embodiments enable analysis of flight data for potentialmaintenance events. More particularly, the present disclosure isdirected to for discovering when and how often airline operators(“carriers”) perform aircraft heavy maintenance events.

As used herein, a processor may include any programmable systemincluding systems using micro-controllers, reduced instruction setcircuits (RISC), application specific integrated circuits (ASICs), logiccircuits, and any other circuit or processor capable of executing thefunctions described herein. The above examples are not intended to limitin any way the definition and/or meaning of the term “processor.”

As used herein, the term “database” may refer to either a body of data,a relational database management system (RDBMS), or to both. As usedherein, a database may include any collection of data includinghierarchical databases, relational databases, flat file databases,object-relational databases, object-oriented databases, and any otherstructured or unstructured collection of records or data that is storedin a computer system. The above examples are not intended to limit inany way the definition and/or meaning of the term database. Examples ofRDBMS's include, but are not limited to, Oracle® Database, MySQL, IBM®DB2, Microsoft® SQL Server, Sybase®, and PostgreSQL. However, anydatabase may be used that enables the systems and methods describedherein. (Oracle is a registered trademark of Oracle Corporation, RedwoodShores, Calif.; IBM is a registered trademark of International BusinessMachines Corporation, Armonk, N.Y.; Microsoft is a registered trademarkof Microsoft Corporation, Redmond, Wash.; and Sybase is a registeredtrademark of Sybase, Dublin, Calif.)

In one embodiment, a computer program is provided, and the program isembodied on a computer readable medium. In an example embodiment, thesystem is executed on a single computer system, without requiring aconnection to a server computer. In a further embodiment, the system isbeing run in a Windows® environment (Windows is a registered trademarkof Microsoft Corporation, Redmond, Wash.). In yet another embodiment,the system is run on a mainframe environment and a UNIX® serverenvironment (UNIX is a registered trademark of X/Open Company Limitedlocated in Reading, Berkshire, United Kingdom). The application isflexible and designed to run in various different environments withoutcompromising any major functionality. In some embodiments, the systemincludes multiple components distributed among a plurality of computingdevices. One or more components may be in the form ofcomputer-executable instructions embodied in a computer-readable medium.

As used herein, an element or step recited in the singular and precededwith the word “a” or “an” should be understood as not excluding pluralelements or steps, unless such exclusion is explicitly recited.Furthermore, references to “example embodiment” or “one embodiment” ofthe present disclosure are not intended to be interpreted as excludingthe existence of additional embodiments that also incorporate therecited features.

As used herein, the terms “software” and “firmware” are interchangeable,and include any computer program stored in memory for execution by aprocessor, including RAM memory, ROM memory, EPROM memory, EEPROMmemory, and non-volatile RAM (NVRAM) memory. The above memory types areexamples only and thus, are not limiting as to the types of memoryusable for storage of a computer program.

Furthermore, as used herein, the term “real-time” refers to at least oneof the time of occurrence of the associated events, the time ofmeasurement and collection of predetermined data, the time to processthe data, and the time of a system response to the events and theenvironment. In the embodiments described herein, these activities andevents occur substantially instantaneously.

The systems and processes are not limited to the specific embodimentsdescribed herein. In addition, components of each system and eachprocess can be practiced independent and separate from other componentsand processes described herein. Each component and process also can beused in combination with other assembly packages and processes.

FIG. 1 illustrates a block diagram of converting aircraft flight legdata 105 (e.g. aircraft operation data) in accordance with oneembodiment of the disclosure. In the exemplary embodiment, flight legdata 105 is used for analysis. In the exemplary embodiment, flight legdata 105 includes information about the operation of each aircraft in afleet of aircraft. This may include data that is captured by one or moresensors aboard the corresponding aircraft, such as, but is not limitedto, start-up time, start-up sequence logs, shutdown time, shutdownsequence logs, flight speed, engine speed, engine revolutions perminute, engine vibration, and/or data from the aircraft's avionics. Insome embodiments, the aircraft transmits messages with some or all ofthis data directly to the aircraft manufacturer or other group forstorage in a database as flight leg data 105. In other embodiments, thismay be data collected from public sources, such as public flightdatabases. In some embodiments, flight leg data 105 is combined with theairplane data 110, which includes information about each individualaircraft in the plurality of aircraft, such as, but not limited to,aircraft delivery date or in-service date (the date that the individualaircraft began service), aircraft serial number, aircraft model,aircraft geographic region, and/or any other information about theindividual aircraft used to perform the steps described herein.

In some embodiments, flight leg data 105 contains data for all or amajority of airplanes for a single carrier or airline. In otherembodiments, flight leg data 105 contains data for all aircraft of aspecific type, such as all dual-prop commuter aircraft or all quad jetengine long haul aircraft, or of a specific model. In some furtherembodiments, flight leg data 105 is sorted and/or filtered by one ofmodel or aircraft type.

In the exemplary embodiment, flight leg data 105 is used to generate aflight leg graph 115. The x-axis for flight leg graph 115 is the date.The y-axis for flight leg graph 115 is an aircraft identifier. Theflight leg graph 115 illustrates for each aircraft whether or not thataircraft was in operation on that particular day. In the exemplaryembodiment, MA server 510 (shown in FIG. 5) uses the flight leg data 105to determine whether or not each individual aircraft was in operation ona particular day. In some embodiments, MA server 510 compares the numberof departures for aircraft in that fleet. In other embodiments, MAserver 510 only considers an aircraft to be in operation if the aircraftoperates for a certain period of time that day. For example, in somemaintenance operations, aircraft are operated to perform measurements,such as test engine start-ups and test flights. To account for thistesting, MA server 510 may only consider days where the aircraft was inoperation over a predetermined period of time to count as an operationalday. In flight leg graph 115, each row 120 represents a differentaircraft. In each row 120, operational days 125 are marked andnon-operational days 130 (e.g. gap days) are blank.

FIG. 2 illustrates a block diagram of analyzing flight data forpotential maintenance events in accordance with one embodiment of thedisclosure. FIG. 2 illustrates the adjustment of the operational andnon-operational days based on delivery date of the individual aircraft,also known as in-service date. As shown in the actual date graph 205,the rows for each individual aircraft are blank prior to that aircraft'sdelivery date or in-service date. The manufacturing time and subsequentdelivery time of aircraft varies for each aircraft based on model, type,location, line, and other factors. To account for this, MA server 510replaces actual dates with number of days since the in-service date. Asshown in FIG. 2, the actual date graph 205 shows the operational andnon-operational dates for each aircraft on each individual day. Therelative date graph 210 shows the operation and non-operational days foreach aircraft relative that aircraft's delivery date or in-service date.

As seen in these two graphs 205 and 210, patterns of non-operation mayappear, such as gaps 215-1 and 215-2. While in graph 205 gap 215-1 is atan angle and hard to read, in graph 210 gap 215-2 is a relativelystraight line around the 3000 day mark. Accordingly, by analyzing theflight leg data 105 (shown in FIG. 1), MA server 510 is able todetermine that there is a non-operational gap for each aircraft around3000 days since the aircraft's delivery date.

FIG. 3 illustrates a block diagram of detecting anchors in flight datain accordance with one embodiment of the disclosure. The first graph 305illustrates a relative density function 310, the second graph 315illustrates a normalized density function 320, and the third graph 325illustrates a smooth density function 330. In the exemplary embodiment,the relative density function is calculated by the MA server 510 (shownin FIG. 1). In this embodiment, the MA server 510 converts the relativedensity function 310 to the normalized density function 320 and thenapplies smoothing techniques to generate the smooth density function 330

In the exemplary embodiment, the relative density function 310 iscalculated using the flight leg data 105 (shown in FIG. 1) for all ofthe planes or all planes of a specific type for an individual carrier.In the exemplary embodiment, the relative density function is:

${{Relative}\mspace{14mu}{Density}\mspace{14mu}{at}\mspace{14mu}{Time}\mspace{14mu} t} = \frac{{Total}\mspace{14mu}{Number}\mspace{14mu}{of}\mspace{14mu}{Airplane}\mspace{14mu}{Departures}\mspace{14mu}{at}\mspace{14mu}{Time}\mspace{14mu} t}{{Total}\mspace{14mu}{Number}\mspace{14mu}{of}\mspace{14mu}{Airplanes}\mspace{14mu}{in}\mspace{14mu}{the}\mspace{14mu}{Fleet}}$where t is the number of days since delivery. The relative densityfunction 310 compares the number of airplane departures to the number ofairplanes available. For example, on day 2500 there were 27 activeairplanes and 25 departures; therefore, the density for day 2500 is0.926. In another example, on day 3000 there were 27 active aircraft,but only 19 departures; therefore, the relative density for that day is0.704. In a third example, on day 3500 there were 11 active aircraft and12 departures. As shown above, in some situations, there may be moredepartures than aircraft due to certain aircraft having multipledepartures. In other embodiments, the relative density function 310 isbased on the number of active aircraft or the number of aircraft withflight time on a particular day.

Next, the relative density function 310 is normalized. The normalizeddensity function 320 is:

${{Normalized}\mspace{14mu}{Density}\mspace{14mu}{at}\mspace{14mu}{Time}\mspace{14mu} t} = \frac{{{Density}\mspace{14mu}{Function}\mspace{14mu}{at}\mspace{14mu}{time}\mspace{14mu} t} - {{Average}\mspace{14mu}{Density}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu}{days}}}{{Standard}\mspace{20mu}{Deviation}\mspace{14mu}{of}\mspace{14mu}{Density}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu}{days}}$Then the normalized density function 320 is smoothed. In the exemplaryembodiment, a seven day moving average function is used to remove theimpact of unscheduled events. This dampens the impact of unscheduledflight gaps, but recurring gaps stay. If there is a significantrecurring gap in flight leg data 105, then the smooth density function330 should show a valley. Other techniques for smoothing include, butare not limited to, moving average, weighted moving average, andexponential smoothing.

By analyzing the smoothed density function, MA server 510 is able todetect one or more valleys in the data, also known as anchors 335-1through 335-5. The anchors represent a time when a significant majorityof the aircraft were non-operational. As shown in the third graph 325,there are five anchors 335-1, 335-2, 335-3, 335-4, and 335-5. One anchoris around each 1000 day mark (i.e., anchor 335-2 is around the 2000 daymark). In other embodiments or with other data sets, the anchors 335-1through 335-5 may be at different day marks.

FIG. 4 illustrates a block diagram of comparing anchor (such as 335-3)to non-operational gaps 340 in accordance with one embodiment of thedisclosure. In the exemplary embodiment, for each of the anchors 335-1through 335-5, the gaps 340 for each of the aircraft are analyzed todetermine which gaps 340 are the closest to the corresponding anchor335-1 through 335-5. The distance between each of the gaps 340 and thecorresponding anchor 335-1 through 335-5 are measured and statisticallyanalyzed to determine a confidence level that that anchor 335 representsa maintenance event.

As described above in FIGS. 1 through 4, in the exemplary embodiment,the MA server 510 receives a plurality of flight leg data 105 from aplurality of aircraft in a fleet or associated with an individualcarrier. The MA server 510 analyzes the flight leg data 105 to determinewhich days each individual aircraft was operational and which days itwas non-operational. The MA server 510 calculates the days relative tothe aircraft's in-service or delivery date. The MA server 510 uses thedata to detect non-operational gaps, where the aircraft was out ofservice for more than a predetermined period of days. For example, thepredetermined period of days may be 11 to account for the heavymaintenance events than may take two weeks to complete.

The MA server 510 then uses a density function on the flight leg data105 for all of the aircraft combined to calculate one or more anchors335-1 through 335-5. Anchors 335-1 through 335-5 represent a significantnumber of the aircraft for the carrier were non-operational. The anchors335-1 through 335-5 are also calculated based on the number of days fromthe aircraft's delivery date. The MA server 510 compares thenon-operational gaps to the one or more anchors to determine whether ornot each anchor represents a maintenance event. Using the maintenanceevents, the MA server 510 is capable of determining when the carrierperforms maintenance on aircraft. The MA server 510 may then calculatewhen a future maintenance event is to take place for a specificaircraft. Based on the future maintenance event, the MA server 510 maydetermine one or more parts that may be necessary for the maintenanceevent and pre-order those parts to prepare for the maintenance event.The MA server 510 may also ship the one or more parts to the nearestregion to where the maintenance event is predicted to take place. Forexample, if the carrier is based out of Malaysia, then the MA server 510may ensure that the maintenance facilities near Malaysia have sufficientparts to cover the one or more parts that will be needed for maintenanceand orders those parts to be shipped to one of the maintenancefacilities if needed.

FIG. 5 depicts a simplified block diagram of an exemplary system 500 foranalyzing maintenance patterns of aircraft. In the exemplary embodiment,system 500 may be used for determining maintenance patterns and futuremaintenance events of aircraft. As described below in more detail, amaintenance analysis (“MA”) server 510 (also known as a MA computerdevice 510), may be configured to (i) receive a plurality of aircraftflight leg data associated with a plurality of aircraft and (ii)determine one or more non-operational gaps for each aircraft. Thenon-operational gap represents a series of consecutive non-operatingdays for the aircraft. The MA server 510 may further be configured to(iii) compare the one or more non-operational gaps for the plurality ofaircraft based on each aircraft's corresponding in-service date, (iv)detect a plurality of anchors in the plurality of aircraft flight legdata, (v) compare the one or more non-operational gaps for the pluralityof aircraft to the plurality of anchors, and (vi) determine a futuremaintenance event for a first aircraft based on the comparison

In the exemplary embodiment, aircraft computer devices 505 are computersthat are associated with aircraft that report aircraft conditions. Insome embodiments, the aircraft computer devices 505 report conditions inreal-time. For example, an aircraft computer device 505 may reportengine operating conditions, such as operating time, revolutions perminute, airspeed, start-up and/or shutdown logs, and/or any other datarequired to monitor the operation of the engine. Aircraft manufacturersmay use this information to improve designs and lifecycles of aircraft.In the exemplary embodiment, aircraft computer devices 505 include a webbrowser or a software application, which enables aircraft computerdevices 505 to access remote computer devices, such as MA server 510,using the Internet or other network. More specifically, aircraftcomputer devices 505 is communicatively coupled to MA server 510 throughmany interfaces including, but not limited to, at least one of theInternet, a network, such as the Internet, a local area network (LAN), awide area network (WAN), or an integrated services digital network(ISDN), a dial-up-connection, a digital subscriber line (DSL), acellular phone connection, and a cable modem. Aircraft computer devices505 may be any device capable of accessing the Internet including, butnot limited to, a desktop computer, a laptop computer, a personaldigital assistant (PDA), a cellular phone, a smartphone, a tablet, aphablet, wearable electronics, smart watch, or other web-basedconnectable equipment or mobile devices. In the exemplary embodiment,aircraft computer devices 505 are configured to transmit operationaldata to be stored in a database 520 for later use, such as describedherein.

In the exemplary embodiment, user computer devices 525 are computersthat include a web browser or a software application, which enables usercomputer devices 525 to access remote computer devices, such as MAserver 510, using the Internet or other network. More specifically, usercomputer devices 525 may be communicatively coupled to the Internetthrough many interfaces including, but not limited to, at least one of anetwork, such as the Internet, a local area network (LAN), a wide areanetwork (WAN), or an integrated services digital network (ISDN), adial-up-connection, a digital subscriber line (DSL), a cellular phoneconnection, and a cable modem. User computer devices 525 may be anydevice capable of accessing the Internet including, but not limited to,a desktop computer, a laptop computer, a personal digital assistant(PDA), a cellular phone, a smartphone, a tablet, a phablet, wearableelectronics, smart watch, or other web-based connectable equipment ormobile devices.

A database server 515 is communicatively coupled to a database 520 thatstores data. In one embodiment, database 520 may include aircraftoperational data, flight leg data, airplane data, detected pastmaintenance events, and predicted future aircraft maintenance events. Inthe exemplary embodiment, database 520 is stored remotely from MA server510. In some embodiments, database 520 is decentralized. In theexemplary embodiment, may access database 520 via user computer device525 by logging onto MA server 510, as described herein. MA server 510may be in communication with a plurality of aircraft computer devices505 and a plurality of user computer devices 525 to analyze aircraftmaintenance data.

FIG. 6 depicts an exemplary configuration of client computer device, inaccordance with one embodiment of the present disclosure. User computerdevice 602 may be operated by a user 601. User computer device 602 mayinclude, but is not limited to, aircraft computer devices 505 and usercomputer devices 525 (both shown in FIG. 5). User computer device 602may include a processor 605 for executing instructions. In someembodiments, executable instructions may be stored in a memory area 610.Processor 605 may include one or more processing units (e.g., in amulti-core configuration). Memory area 610 may be any device allowinginformation such as executable instructions and/or transaction data tobe stored and retrieved. Memory area 610 may include one or morecomputer readable media.

User computer device 602 may also include at least one media outputcomponent 615 for presenting information to user 601. Media outputcomponent 615 may be any component capable of conveying information touser 601. In some embodiments, media output component 615 may include anoutput adapter (not shown) such as a video adapter and/or an audioadapter. An output adapter may be operatively coupled to processor 605and operatively coupleable to an output device such as a display device(e.g., a cathode ray tube (CRT), liquid crystal display (LCD), lightemitting diode (LED) display, or “electronic ink” display) or an audiooutput device (e.g., a speaker or headphones).

In some embodiments, media output component 615 may be configured topresent a graphical user interface (e.g., a web browser and/or a clientapplication) to user 601. A graphical user interface may include, forexample, an interface for viewing detected or predicted maintenanceevents. In some embodiments, user computer device 602 may include aninput device 620 for receiving input from user 601. User 601 may useinput device 620 to, without limitation, select an aircraft or aircrafttype review.

Input device 620 may include, for example, a keyboard, a pointingdevice, a mouse, a stylus, a touch sensitive panel (e.g., a touch pad ora touch screen), a gyroscope, an accelerometer, a position detector, abiometric input device, and/or an audio input device. A single componentsuch as a touch screen may function as both an output device of mediaoutput component 615 and input device 620.

User computer device 602 may also include a communication interface 625,communicatively coupled to a remote device such as MA server 510 (shownin FIG. 5). Communication interface 625 may include, for example, awired or wireless network adapter and/or a wireless data transceiver foruse with a mobile telecommunications network.

Stored in memory area 610 are, for example, computer readableinstructions for providing a user interface to user 601 via media outputcomponent 615 and, optionally, receiving and processing input from inputdevice 620. A user interface may include, among other possibilities, aweb browser and/or a client application. Web browsers enable users, suchas user 601, to display and interact with media and other informationtypically embedded on a web page or a website from MA server 510. Aclient application may allow user 601 to interact with, for example, MAserver 510. For example, instructions may be stored by a cloud service,and the output of the execution of the instructions sent to the mediaoutput component 615.

FIG. 7 depicts an exemplary configuration of server system, inaccordance with one embodiment of the present disclosure. Servercomputer device 701 may include, but is not limited to, MA server 510and database server 515 (both shown in FIG. 5). Server computer device701 may also include a processor 705 for executing instructions.Instructions may be stored in a memory area 710. Processor 705 mayinclude one or more processing units (e.g., in a multi-coreconfiguration).

Processor 705 may be operatively coupled to a communication interface715 such that server computer device 701 is capable of communicatingwith a remote device such as another server computer device 701, MAserver 510, aircraft computer device 505, and user computer device 525(both shown in FIG. 5) (for example, using wireless communication ordata transmission over one or more radio links or digital communicationchannels). For example, communication interface 715 may receive requestsfrom user computer devices 525 via the Internet, as illustrated in FIG.5.

Processor 705 may also be operatively coupled to a storage device 734.Storage device 734 may be any computer-operated hardware suitable forstoring and/or retrieving data, such as, but not limited to, dataassociated with database 520 (shown in FIG. 5). In some embodiments,storage device 734 may be integrated in server computer device 701. Forexample, server computer device 701 may include one or more hard diskdrives as storage device 734.

In other embodiments, storage device 734 may be external to servercomputer device 701 and may be accessed by a plurality of servercomputer devices 701. For example, storage device 734 may include astorage area network (SAN), a network attached storage (NAS) system,and/or multiple storage units such as hard disks and/or solid statedisks in a redundant array of inexpensive disks (RAID) configuration.

In some embodiments, processor 705 may be operatively coupled to storagedevice 734 via a storage interface 720. Storage interface 720 may be anycomponent capable of providing processor 705 with access to storagedevice 734. Storage interface 720 may include, for example, an AdvancedTechnology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, aSmall Computer System Interface (SCSI) adapter, a RAID controller, a SANadapter, a network adapter, and/or any component providing processor 705with access to storage device 734.

Processor 705 may execute computer-executable instructions forimplementing aspects of the disclosure. In some embodiments, theprocessor 705 may be transformed into a special purpose microprocessorby executing computer-executable instructions or by otherwise beingprogrammed. For example, the processor 705 may be programmed with theinstructions, such as those shown in FIG. 8.

FIG. 8 illustrates a flow chart of a process 800 for analyzing flightdata for potential maintenance events as shown in FIGS. 1 to 4 using themaintenance analysis system 500 shown in FIG. 5. In the exemplaryembodiment, process 800 is performed by MA server 510 (shown in FIG. 5).

In the exemplary embodiment, MA server 510 receives 805 a plurality ofaircraft flight leg data associated with a plurality of aircraft. Thisplurality of aircraft flight leg data includes aircraft flight data andairplane data 110 (shown in FIG. 1) including aircraft identifier numberand in-service date for each of the plurality of aircraft included inthe aircraft flight leg data. In some embodiments, the aircraft flightdata is also known as flight leg data 105 (shown in FIG. 1). In theexemplary embodiment, aircraft flight data includes information aboutthe operation of each aircraft. This may include data that is capturedby one or more sensors aboard the corresponding aircraft, such as, butis not limited to, start-up time, start-up sequence logs, shutdown time,shutdown sequence logs, flight speed, engine speed, engine revolutionsper minute, engine vibration, and/or data from the aircraft's avionics.In some embodiments, the aircraft transmits messages with some or all ofthis data directly to the aircraft manufacturer or other groupassociated with the MA server 510. In other embodiments, this may bedata collected from public sources, such as public flight databases. Inthe exemplary embodiment, the airplane data 110 includes informationabout each individual aircraft in the plurality of aircraft, such as,but not limited to, aircraft delivery date or in-service date (the datethat the individual aircraft began service), aircraft serial number,aircraft model, aircraft geographic region, and/or any other informationabout the individual aircraft used to perform the steps describedherein. In some embodiments, MA server 510 filters the plurality ofaircraft flight leg data by type or model of aircraft.

In the exemplary embodiment, MA server 510 determines 810 one or morenon-operational gaps for each aircraft. A non-operational gap representsa series of consecutive non-operating days for the aircraft. In theexemplary embodiment, MA server 510 compares 815 the one or morenon-operational gaps for the plurality of aircraft based on eachaircraft's corresponding in-service date. In some embodiments, MA server510 determines a plurality of operational days and a plurality ofnon-operational days for each aircraft of the plurality of aircraftbased on the aircraft flight leg data. For each aircraft, MA server 510determines one or more non-operations gaps based on the plurality ofoperational days and the plurality of non-operational days. In somefurther embodiments, MA server 510 determines a non-operational gap whena number of serial consecutive non-operational days exceeds apredetermined threshold, such as 11 days.

In the exemplary embodiment, MA server 510 detects 820 a plurality ofanchors in the plurality of aircraft flight leg data. In someembodiments, MA server 510 detects 820 the plurality of anchors based ona smoothed density function comparing for time t a number of aircraftthat flew at time t to a total of number of aircraft. In theseembodiments, MA server 510 calculates the number of aircraft that wereoperational for each day since the aircraft's in-service or deliverydate and compares that number to the total number of aircraft in theplurality of aircraft flight leg data for that day.

In the exemplary embodiment, MA server 510 compares 825 the one or morenon-operational gaps for the plurality of aircraft to the plurality ofanchors. In the exemplary embodiment, for each anchor, MA server 510compares 825 the nearest non-operational gap for each of the pluralityof aircraft to that anchor. In some embodiments, MA server 510 measuresthe distance between each of the nearest non-operational gaps and doesstatistical analysis to determine whether or not that is a potentialmaintenance event.

Using the comparisons and the statistical analysis, MA server 510determine one or more past maintenance events for the first aircraft ofthe plurality of aircraft based on the one or more non-operational gapsassociated with the first aircraft. In some further embodiments, MAserver 510 determines a maintenance interval based on the comparison ofthe one or more non-operational gaps and the plurality of anchors.

In the exemplary embodiment, MA server 510 determines 830 a futuremaintenance event for a first aircraft based on the comparison. In someembodiments, MA server 510 determines 830 a future maintenance eventbased on the past maintenance events for the first aircraft and thedetermined maintenance interval. In other embodiments, the MA server 510determines on which days after the aircraft's in-service date thecarrier is most likely to perform maintenance and then compares that tothe present date.

In some embodiments, MA server 510 determines one or more parts for afuture maintenance event for the first aircraft and a required lead-timefor the one or more parts to arrive. In some further embodiments, MAserver 510 transmits an order for the one or more parts for the futuremaintenance event based on the required lead-time.

At least one of the technical solutions to the technical problemsprovided by this system may include: (i) improving the accuracy ofdetermining when different airlines and/or fleets perform maintenanceoperations; (ii) efficiently analyzing data from hundreds to thousandsof aircraft; (iii) efficiently handling different inspection logic fromdifferent carriers; (iv) determining and predicting maintenance eventsbased on limited data; (v) predicting and preparing for maintenanceevents; and (vi) reducing the time and thereby the cost of performingmaintenance by ensuring both the technical expertise and the parts areavailable when the maintenance event takes place.

The computer-implemented methods discussed herein may includeadditional, less, or alternate actions, including those discussedelsewhere herein. The methods may be implemented via one or more localor remote processors, transceivers, servers, and/or sensors (such asprocessors, transceivers, servers, and/or sensors mounted on vehicles ormobile devices, or associated with smart infrastructure or remoteservers), and/or via computer-executable instructions stored onnon-transitory computer-readable media or medium. Additionally, thecomputer systems discussed herein may include additional, less, oralternate functionality, including that discussed elsewhere herein. Thecomputer systems discussed herein may include or be implemented viacomputer-executable instructions stored on non-transitorycomputer-readable media or medium.

As used herein, the term “non-transitory computer-readable media” isintended to be representative of any tangible computer-based deviceimplemented in any method or technology for short-term and long-termstorage of information, such as, computer-readable instructions, datastructures, program modules and sub-modules, or other data in anydevice. Therefore, the methods described herein may be encoded asexecutable instructions embodied in a tangible, non-transitory, computerreadable medium, including, without limitation, a storage device and/ora memory device. Such instructions, when executed by a processor, causethe processor to perform at least a portion of the methods describedherein. Moreover, as used herein, the term “non-transitorycomputer-readable media” includes all tangible, computer-readable media,including, without limitation, non-transitory computer storage devices,including, without limitation, volatile and nonvolatile media, andremovable and non-removable media such as a firmware, physical andvirtual storage, CD-ROMs, DVDs, and any other digital source such as anetwork or the Internet, as well as yet to be developed digital means,with the sole exception being a transitory, propagating signal.

As described above, the described embodiments enable analysis of flightdata to detect maintenance events. More particularly, the presentdisclosure is directed to for discovering when and how often airlineoperators (“carriers”) perform aircraft heavy maintenance events. Morespecifically, a maintenance analysis server is configured to analysisflight data from a plurality of aircraft to predict when those aircraftwill have to perform maintenance events and be able to have the partsand labor ready for those maintenance events.

The methods and system described herein may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware, or any combination or subset. As disclosedabove, at least one technical problem with prior systems is that thereis a need for systems for a cost-effective and reliable manner foranalysis of flight data to detect maintenance events. The system andmethods described herein address that technical problem. The technicaleffect of the systems and processes described herein is achieved byperforming at least one of the following steps: (a) receiving, at the MAcomputer device, a plurality of aircraft flight leg data associated witha plurality of aircraft; (b) determining, by the MA computer device, oneor more non-operational gaps for each aircraft, where a non-operationalgap represents a series of consecutive non-operating days for theaircraft; (c) comparing, by the MA computer device, the one or morenon-operational gaps for the plurality of aircraft based on eachaircraft's corresponding in-service date; (d) detecting, by the MAcomputer device, a plurality of anchors in the plurality of aircraftflight leg data; (e) comparing, by the MA computer device, the one ormore non-operational gaps for the plurality of aircraft to the pluralityof anchors; and (f) determining, by the MA computer device, a futuremaintenance event for a first aircraft based on the comparison. Theresulting technical effect is analysis of flight data to detectmaintenance events to predict when and where to order parts.

This written description uses examples to disclose variousimplementations, including the best mode, and also to enable any personskilled in the art to practice the various implementations, includingmaking and using any devices or systems and performing any incorporatedmethods. The patentable scope of the disclosure is defined by theclaims, and may include other examples that occur to those skilled inthe art. Such other examples are intended to be within the scope of theclaims if they have structural elements that do not differ from theliteral language of the claims, or if they include equivalent structuralelements with insubstantial differences from the literal language of theclaims.

What is claimed is:
 1. A computer device comprising: at least onememory; and at least one processor in communication with said at leastone memory, said at least one processor programmed to: receive aplurality of aircraft flight leg data associated with a plurality ofaircraft; determine one or more non-operational gaps for each aircraft,wherein a non-operational gap represents a series of consecutivenon-operating days for the aircraft; compare the one or morenon-operational gaps for the plurality of aircraft based on eachaircraft's corresponding in-service date; detect a plurality of anchorsin the plurality of aircraft flight leg data; compare the one or morenon-operational gaps for the plurality of aircraft to the plurality ofanchors; and determine a future maintenance event for a first aircraftbased on the comparison.
 2. The device of claim 1, wherein the pluralityof aircraft flight leg data includes airplane data including an aircraftidentifier number and in-service date for each of the plurality ofaircraft included in the aircraft flight leg data.
 3. The device ofclaim 2, wherein the aircraft flight leg data is captured by one or moresensors aboard the corresponding aircraft.
 4. The device of claim 1,wherein the at least one processor is further programmed to filter theplurality of aircraft flight leg data by type of aircraft.
 5. The deviceof claim 1, wherein the at least one processor is further programmed to:determine a plurality of operational days and a plurality ofnon-operational days for each aircraft of the plurality of aircraftbased on the aircraft flight leg data; and for each aircraft, determineone or more non-operations gaps based on the plurality of operationaldays and the plurality of non-operational days.
 6. The device of claim5, wherein the at least one processor is further programmed to determinea non-operational gap when a number of serial consecutivenon-operational days exceeds a predetermined threshold.
 7. The device ofclaim 1, wherein the at least one processor is further programmed todetect the plurality of anchors based on a smoothed density function ofa comparison for time t of a number of aircraft departures at time t toa total of number of aircraft.
 8. The device of claim 1, wherein the atleast one processor is further programmed to determine one or more pastmaintenance events for the first aircraft of the plurality of aircraftbased on the one or more non-operational gaps for the first aircraft. 9.The device of claim 1, wherein the at least one processor is furtherprogrammed to determine a maintenance interval based on the comparisonof the one or more non-operational gaps and the plurality of anchors.10. The device of claim 1, wherein the at least one processor is furtherprogrammed to determine one or more parts for a future maintenance eventfor the first aircraft and a required lead-time for the one or moreparts to arrive.
 11. The device of claim 10, wherein the at least oneprocessor is further programmed to transmit an order for the one or moreparts for the future maintenance event based on the required lead-time.12. A computer implemented method for discovering when and how oftenairline operators (“carriers”) perform aircraft heavy maintenanceevents, the method implemented on a maintenance analysis (MA) computerdevice including at least one processor in communication with at leastone memory device, the method comprising: receiving, at the MA computerdevice, a plurality of aircraft flight leg data associated with aplurality of aircraft; determining, by the MA computer device, one ormore non-operational gaps for each aircraft, wherein a non-operationalgap represents a series of consecutive non-operating days for theaircraft; comparing, by the MA computer device, the one or morenon-operational gaps for the plurality of aircraft based on eachaircraft's corresponding in-service date; detecting, by the MA computerdevice, a plurality of anchors in the plurality of aircraft flight legdata; comparing, by the MA computer device, the one or morenon-operational gaps for the plurality of aircraft to the plurality ofanchors; and determining, by the MA computer device, a futuremaintenance event for a first aircraft based on the comparison.
 13. Themethod of claim 12, wherein the plurality of aircraft leg data includesairplane data including an aircraft identifier number and in-servicedate for each of the plurality of aircraft included in the aircraftflight leg data, and wherein the aircraft flight leg data is captured byone or more sensors aboard the corresponding aircraft.
 14. The method ofclaim 12 further comprising filtering the plurality of aircraft flightleg data by type of aircraft.
 15. The method of claim 12 furthercomprising: determining a plurality of operational days and a pluralityof non-operational days for each aircraft of the plurality of aircraftbased on the aircraft flight leg data; and for each aircraft,determining one or more non-operations gaps based on the plurality ofoperational days and the plurality of non-operational days based on anumber of serial consecutive non-operational days that exceeds apredetermined threshold.
 16. The method of claim 12 further comprisingdetecting the plurality of anchors based on a smoothed density functionof a comparison for time t of a number of aircraft departures at time tto a total of number of aircraft.
 17. The method of claim 12 furthercomprising determining one or more past maintenance events for the firstaircraft of the plurality of aircraft based on the one or morenon-operational gaps for the first aircraft.
 18. The method of claim 12further comprising determining a maintenance interval based on thecomparison of the one or more non-operational gaps and the plurality ofanchors.
 19. The method of claim 12 further comprising: determining oneor more parts for a future maintenance event for the first aircraft anda required lead-time for the one or more parts to arrive; andtransmitting an order for the one or more parts for the futuremaintenance event based on the required lead-time.
 20. At least onenon-transitory computer-readable storage media havingcomputer-executable instructions embodied thereon, when executed by atleast one processor, the computer-executable instructions cause the atleast one processor to: receive a plurality of aircraft flight leg dataassociated with a plurality of aircraft; determine one or morenon-operational gaps for each aircraft, wherein a non-operational gaprepresents a series of consecutive non-operating days for the aircraft;compare the one or more non-operational gaps for the plurality ofaircraft based on each aircraft's corresponding in-service date; detecta plurality of anchors in the plurality of aircraft flight leg data;compare the one or more non-operational gaps for the plurality ofaircraft to the plurality of anchors; and determine a future maintenanceevent for a first aircraft based on the comparison.